package com.reflection;

/**
 * 测试java.lang..calss对象的获取方式
 *
 * @author jiangbang
 * @date 2016/8/30
 */
public class Demo01 {
    public static void main(String[] args) {
        String path = "com.reflection.bean.User";

        try {

            Class<?> clazz = Class.forName(path);
            Class strClazz = String.class;  //类。class获取类
            Class strClazz2 = path.getClass();  //对象。getClass（）获取类

            //对象是表示或封装一些数据。  一个类被加载后，JVM会创建一个对应该类的Class对象，类的整个结构信息会放到对应的Class对象中。
            //这个Class对象就像一面镜子一样，通过这面镜子我可以看到对应类的全部信息。
            System.out.println(clazz.hashCode());

            Class clazz2 = Class.forName(path);	//一个类只对应一个Class对象
            System.out.println(clazz2.hashCode());

            Class intClazz =int.class;

            int[] arr01 = new int[10];
            int[][] arr02 = new int[30][3];
            int[] arr03 = new int[30];
            double[] arr04 = new double[10];

            System.out.println(arr01.getClass().hashCode());
            System.out.println(arr02.getClass().hashCode());
            System.out.println(arr03.getClass().hashCode());
            System.out.println(arr04.getClass().hashCode());


        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}
